/***********************************************************************
* @file osd_slave
* Description:
*
**********************************************************************
* File name:      osd_slave.h
* Date:           2022-11-23
* Version:        V1.0
* Author          KongYao
* @history:
* V1.0 创建文件
***********************************************************************/
#ifndef __osd_slave_H__
#define __osd_slave_H__
#include "stdint.h"
#include "stdbool.h"
#include "stdio.h"


struct displayPort_s;

extern bool osdSlaveIsLocked;


// init
void osdSlaveInit(struct displayPort_s *osdDisplayPort);

// task api
bool osdSlaveCheck(uint32_t currentTimeUs, uint32_t currentDeltaTimeUs);
void osdSlaveUpdate(void);

// msp api
void osdSlaveHeartbeat(void);
void osdSlaveClearScreen(void);
void osdSlaveWriteChar(const uint8_t x, const uint8_t y, const uint8_t c);
void osdSlaveWrite(const uint8_t x, const uint8_t y, const char *s);

void osdSlaveDrawScreen(void);

void OsdFuncInit(void);
void OsdFuncLoop(void);
void ShowAllOsdChar();

void BlinkLogo(void);

#endif //__osd_slave_H__
